package com.hfb.mashibing.alip8.designpattern._01singleton;

import java.util.concurrent.TimeUnit;

/**
 * java的创始人之一 大牛，写的单例: 枚举单例——简单实用
 *
 * 既 线程安全的单利模式 有防止反序列化
 *
 * 既不加锁，也可以实现线程安全的单利模式（完全依赖jvm机制实现）
 * 最最最最最完美的写法，墙裂推荐使用！
 * @author HFB
 */
public enum Mgr08 {

    Instance;

//    public void m() {
//    }

    public static void main(String[] args) throws InterruptedException {
        Thread[] ts = new Thread[20];
        for (int i = 0; i < ts.length; i++) {
            ts[i] = new Thread(()->
                System.out.println(Mgr08.Instance.hashCode())
            );
        }

        for (Thread t : ts) {
            TimeUnit.SECONDS.sleep(1);
            t.start();
        }
    }
}
